/*
 * @Author: 灰灰
 * @Date: 2021-12-31 11:27:21
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-01-04 10:50:07
 * @Description: 
 */

const util = {
  /**
   * 删除对象的key
   * @param {Object} obj 原对象
   * @param {Array, String} keys 删除的key
   */
  delKeys(obj, keys) {
    if (!keys || keys.length == 0) return obj;

    let keysArr = keys;
    if ((typeof keys == 'string') && keys.constructor == String) {
      keysArr = [keys];
    }
    keysArr.forEach(item => {
      const keyArr = item.split('.');
      let tmpObj = obj;
      keyArr.forEach((key, index) => {
        index == (keyArr.length - 1) ? (delete tmpObj[key]) : (tmpObj = tmpObj[key])
      })
    })
  },
  /**
   * 将数组转成字符串 用，分割
   */
  arrToStr(arr, joinChar = ',', joinProp) {
    if (!arr || arr.length == 0) return '';
    // 这是处理 数组里面都是字符串或者数字，直接拼接就可以
    if (!joinProp) return arr.join(joinChar);
    // 处理数组里面是对象，需要对某个指定字段进行拼接
    return arr.map(item => item[joinProp]).join(joinChar);
  },
  /**
   * 字符串直接转成数组，数组里面可以是字符串，也可以是对象
   */
  strToArr(val, splitChar = ',', objProp) {
    if (!val || val.length == 0) return [];
    // 这是处理 将字符串直接转成数组，
    const arr = str.split(splitChar);
    if (!objProp) return arr;
    // 这是处理 将字符串转成数组，而数组里面存对象，将值存到对象的字段中
    return arr.map(item => {
      const dict = {}
      dict[objProp] = item;
      return dict
    })
  }
}

export default util;